package com.jic.market.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 优惠券配置模版表
 * @author : seven
 * @email : 774329481@qq.com
 * @since : 2020-03-03 10:52:21
 * @version : v1.0.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CouponConfigTemplate implements Serializable {
    private static final long serialVersionUID = 1L;

    //主键ID
    private Long id;
    //优惠券模版id
    private String templateId;
    //优惠券模版名称
    private String templateName;
    //优惠券种类 0电子券 1实体券
    private Integer couponType;
    //id领取总数限制
    private Long idLimitNum;
    //id每日领取数量限制
    private Long idLimitDayNum;
    //优惠券使用用户类型,0全部,1新用户,2老用户
    private Integer couponUsePersonType;
    //会员类型,0普通会员
    private Integer memberType;
    //会员等级,0注册用户,1VIP用户,2金卡
    private Integer memberGrade;
    //使用渠道 BBC
    private String useChannel;
    //发券类型 0前台领券,1指定用户发放,2注册自动发放,3抽奖券
    private Integer grantType;
    //发券类型 0前台领券,1指定用户发放,2注册自动发放,3抽奖券
    private Integer amountDeductType;
    //优惠方式,0金额券,1折扣券
    private Integer couponMode;
    //使用范围 0平台券 1商家券
    private Integer useRange;
    //优惠券面值单位元
    private BigDecimal couponAmount;
    //优惠券发放总数
    private Long grantTotalNum;
    //券活动开始日期
    private Date activityStartTime;
    //券活动结束日期
    private Date activityEndTime;
    //使用说明
    private String couponUseDesc;
    //使用开始时间
    private Date couponUseStartTime;
    //使用结束时间
    private Date couponUseEndTime;
    //优惠券领取失效天数
    private Integer couponFailDayNum;
    //订单总金额限制单位元
    private BigDecimal useTotalAmountLimit;
    //优惠券状态 0进行中,1已失效,2已关闭,3未开始,4待提交,5待审核,6审核未通过
    private String couponStatus;
    //是否成本分摊 1：是 2：否
    private Integer costAllocation;
    //成本分摊比例
    private String costAllocationScore;
    //自定义标签
    private String label;
    //平台id
    private String deptId;
    //商家id
    private String merchantId;
    //店铺id
    private String storeId;
    //是否删除 0否，1是
    private Boolean deleteFlag;
    //创建时间
    private Date createTime;
    //更新时间
    private Date updateTime;

    //创建人
    private Long creator;
    //修改人
    private Long updator;

    private String creatorName;

    private String updatorName;
}